package ace.tool.generate.code.impl.generator.liquibase.model;

import java.util.List;
import java.util.Optional;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author caspar
 * @date 2023/11/17 10:27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LiquibaseTemplateModel {
  /**
   * 模型名称
   */
  private String name;

  /**
   * 模型备注
   */
  private String remark;

  /**
   * 模型字段
   */
  private List<LiquibaseTemplateModelField> fields;

  /**
   * 模型主键
   */
  private Optional<LiquibaseTemplateModelPrimaryKey> primaryKey;

  /**
   * 索引
   */
  private List<LiquibaseTemplateModelIndex> indexes;
}
